1. Field of the Invention
The present invention relates to the displaying of characters in a video system. It is more particularly concerned with a novel architecture for controlling the displaying and storing of data to be displayed in such a system.
2. Description of the Related Art
Television receivers and video recorders are commonly equipped with on-screen display (OSD) devices for displaying on the screen, in place of the video image or superimposed on the video image, information intended for the user. It is common for example to display the number of the channel viewed when the user changes channel or to display menus to help the user to adjust his television or his video recorder.
In FIG. 1 is represented the video image 1 which is displayed on the screen of a television receiver. In this video image, the area for displaying the characters 2 does not generally cover the whole image. This area 2 is divided into rows 3, 4 which may be of different heights (the height of a row corresponding to the number of video lines required to display it), each row being itself divided into characters 5, 6 likewise of variable size. The set of rows displayed in the area 2 is generally called a screen page. In the following description, the term xe2x80x9cscreen pagexe2x80x9d will be employed to denote any set of rows belonging to one and the same video image, these rows being arranged consecutively (for example in the case of a page transmitted according to the Teletext standard) or else being separated by a certain number of video lines containing no displayed characters (for example in the case of menus for adjusting the television or the video recorder). This term screen page is not to be confused with the display screen of the television, that is to say the visible part of the cathode-ray tube of a television.
The known on-screen display devices comprise various types of memory architectures. In a first type of architecture, the information to be displayed is stored in graphical form. That is to say, a table containing the value of each pixel forming the image to be displayed is stored in a memory. If the display is monochrome, each pixel can be represented by a single bit but if a colour display is desired with various possible luminance levels, many more bits per pixel will be necessary. Thus, for an image of Nxc3x97M pixels, it will be necessary to store a table of Nxc3x97Mxc3x97P bits in memory, P being the number of bits required for coding each pixel. It will readily be seen that this type of architecture consumes a great deal of memory.
An alternative to this solution consists in storing, for each pixel, the address of a predetermined colour (coded for example on 4 bits) which is stored in a palette. However, the size of the memory required for this type of architecture is still very considerable.
In a second type of architecture, the various styles of characters available are stored in a read only memory (ROM), termed the character font memory. Each character is stored in the form of a matrix whose intersections represent the elementary points of the character, the value (xe2x80x9c0xe2x80x9d or xe2x80x9c1xe2x80x9d) of these elementary points indicating whether this point belongs to the foreground or to the background of the character.
The codes of the characters to be displayed are for their part stored in a random access memory (RAM) which provides the above-described read only memory with the code of the character.
Here again there are two known categories of on-screen display devices having this second type of architecture according to the organization of their random access memory. In the first category, a table of fixed size, represented diagrammatically in FIG. 2a, is stored in memory, this table having a fixed xe2x80x9cwidthxe2x80x9d l (which depends on the number of characters per row) and a fixed xe2x80x9cdepthxe2x80x9d p (corresponding to the number of rows per image) which are determined by the size of the screen page which it is desired to display. This is why this first category of memory is sometimes called a xe2x80x9cscreenxe2x80x9d memory. The table contains character codes C, for example stored on 8 bits, as well as character attribute codes A which make it possible to define character display parameters (colour, size, underlining, etc.).
The second category uses a memory whose size is one or more rows. In this case, the content of the screen page which it is desired to display is not stored in its entirety, rather only one or more rows of characters forming the said screen page is/are stored. For example, represented in FIG. 2b is a memory of the size of two rows making it possible to store a current row 10 displayed on the screen as well as a row 20, which will be displayed subsequently on the screen, and whose content is generated during the displaying of row 10, the content of row 10 itself being modified during the displaying of row 20 and so on and so forth. Each row contains, as above, character codes C and display attribute codes A.
This second type of architecture, although it may allow a considerable reduction in the size of the random access memory required as compared with the first type of architecture storing the information in graphical form, nevertheless has a number of drawbacks.
Indeed, this type of memory architecture is very rigid. It is only possible, within one and the same screen page, to modify the display attributes of the characters, that is to say their colour or their size. Also, it is necessary to define at the outset what will be the mode of transmission of the display attributes. For example, in FIG. 2a it has been chosen to transmit a display attribute code A with each character code C transmitted. This mode of transmission is generally called xe2x80x9cparallel modexe2x80x9d. This signifies that the appearance (colour/shape) of the characters can be modified from one character to another. On the other hand, in FIG. 2b it has been chosen to transmit a display attribute only between each word (represented by a string of character codes C). This mode of transmission of the attributes is generally called xe2x80x9cserial modexe2x80x9d. This signifies that the appearance of the characters will be uniform in each word and can only be modified from one word to another.
The problem with this type of architecture is that it does not allow a change of mode of transmission of the display attributes within one and the same screen page. Now, in certain cases, it may be useful to modify the appearance of the characters from one character to another while in other cases this is of no use whatsoever. According to the choice made, either the display possibilities will be limited but the memory space used will be reasonable, or there will be possibilities of enhanced display but most of the time the memory space will be overdimensioned since it will contain redundant information relating to the display attributes.
Moreover, there are other parameters, such as the number of characters per row, which cannot be modified from one row to another and which are defined only in regard to each screen page. Now, it may be beneficial to be able to modify this type of parameter from one row to another, for example when displaying menus of adjustments, since certain, rows displayed may contain fewer characters than others.
An object of the present invention is to propose a novel type of memory architecture in an on-sreen display device which offers more possibilities for modifying the display parameters from one row to another within one and the same screen page and which makes it possible to optimize the memory space used according to the applications chosen.
To this end, the invention proposes a device for controlling the displaying of characters in a video system comprising a memory for storing information relating to the displaying of the characters, wherein said memory comprises:
a first area for storing, at fixed addresses, data and/or parameters for general control of the display; and
a second area which is divisable into spaces of variable sizes so as to store, in each of the spaces, control parameters and data relating to the displaying of a set of characters belonging to a screen page.
Thus, the memory space is used on the basis of the actual needs of the display and this memory structure makes it possible to modify the display parameters from one set of characters to another.
According to one aspect of the invention, each space of the second area contains the address of the memory space corresponding to the next set of characters, requiring to be displayed, of the screen page.
According to another aspect of the invention, the address of the memory space corresponding to a first set of characters to be displayed is stored in the first area of the memory.
According to a preferred aspect of the invention, each of the spaces comprises:
a first part, of predetermined format, containing at least control parameters relating to a set of characters; and
a second part, the format of which is defined by parameters stored in the first part, containing the data corresponding to the said set of characters.
According to a particular embodiment, the first part of each of the spaces furthermore contains display attributes relating to the said set of characters.
According to a particular embodiment, the address of the memory space corresponding to the next set of characters requiring to be displayed is stored in the first part of the memory space corresponding to the set of characters currently displayed.
According to a particular embodiment, the first part of each space comprises parameters for the vertical and/or horizontal positioning of the set of characters in the image displayed by the video system.
According to a particular embodiment, the first part of each space comprises a parameter indicating the number of characters making up the corresponding set of characters of the memory space, the data relating to the said characters being stored in the second part of the memory space.
In a first format for coding the data situated in the second part of a memory space, the said data are coded according to a serial mode and comprise character codes and display attributes transmitted between the words of one and the same set of characters.
In this first coding format, one byte is reserved in the second part of the memory space for the storage of each character.
In a second format for coding the data situated in the second part of a memory space, the said data are coded according to a simple parallel mode and comprise, for each character, a character code and a display attribute.
In this second coding format, two bytes are reserved in the second part of the memory space for the storage of each character.
In a third format for coding the data situated in the second part of a memory space, the said data are coded according to an extended parallel mode and comprise, for each character:
a character code,
a character colour attribute containing addresses of colour palettes themselves stored in the first area of the memory, and
an extended display attribute.
In this third coding mode, three bytes are reserved in the second part of the memory space for the storage of each character.